package restaurant;

import carnetCommandes.Commande;
import carnetCommandes.Registre;
import Usager.AbstractCompte;
import Usager.Client;
import Usager.ListeCompte;
import Usager.Livreur;
import Usager.Profil;

public class TestGui {

	// Liste de restaurant
	ListeRestaurant listeResto;
	ListeCompte listeCompte;
	Registre registre;
	
	// Client
	private Client client;
	
	public TestGui(){
		
		listeResto = ListeRestaurant.getInstance();
		listeCompte = ListeCompte.getInstance();
		registre = Registre.getInstance();
		
		Restaurant();
		Produit();
		try {
			client();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			commande();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	private void Restaurant(){
		
		listeResto.ajouterRestaurant(new Restaurant("Le Gibraltar",new Adresse("Maisonneuve","555","A1B 3E3")));
		listeResto.ajouterRestaurant(new Restaurant("Chez Roland",new Adresse("Henri-Bourassa","2000", "D3E 8U7")));
		listeResto.ajouterRestaurant(new Restaurant("Marais du coin",new Adresse("Sherbrooke","400","E3R 5G4")));
		listeResto.ajouterRestaurant(new Restaurant("Le Paradis du manger",new Adresse("Notre-Dame","1100","7H3 E4R")));
	}
	
	private void Produit(){
		
		try{
			listeResto.getRestaurant(0).getMenu().ajouterProduit("Poisson", "Poisson frais du marche", 22.50);
			listeResto.getRestaurant(0).getMenu().ajouterProduit("Frites", "Frites belges", 10.25);
			
			listeResto.getRestaurant(1).getMenu().ajouterProduit("Bol de Riz", "Riz Commala", 5.75);
			listeResto.getRestaurant(1).getMenu().ajouterProduit("Viande", "Viande de Gilhead", 21.90);
			
			listeResto.getRestaurant(2).getMenu().ajouterProduit("Carre de Tourbe", "Gazon frais coupe", 10.25);
			listeResto.getRestaurant(2).getMenu().ajouterProduit("Quenouille", "Quenouille fraichement ceuilli", 12.75);
			
			listeResto.getRestaurant(3).getMenu().ajouterProduit("Poutine", "Poutine vegetarienne", 13.45);
			listeResto.getRestaurant(3).getMenu().ajouterProduit("Salade", "La laitue est enroulee de Bacon", 15.25);
		}
		
		catch(Exception o){
			System.out.println(o.getMessage());
		}
	}
	
	private void client() throws Exception{
		
		client = new Client("george","a",new Profil("Alphonse Thibodeau","514 123-4567",new Adresse("Joliette","4050","")));
		registre.setCompteActif(client);
		listeCompte.ajouterCompte(client);
		listeCompte.ajouterCompte(new Livreur("paul","a",new Profil("Alphonse Thibodeau","514 123-4567",new Adresse("","",""))));

		//listeCompte.ajouterCompte(new Client("usager","123"));
		//listeCompte.getCompte(0).creerProfil("Alphone Thibodeau", "514 956 4218", new Adresse("Rue du Sucre","123","1W3 R4W");
		
	}
	
	private void commande() throws Exception{
		//Commande commande = new Commande(client.getProfil(),listeResto.getRestaurant(0).getAdresse());
		registre.setRestaurantActif(listeResto.getRestaurant(0));
		registre.demarrerCommande();
		registre.ajouterProduitCommande(0, 2);
		registre.confirmerCommande();
		
		//commande = new Commande(client.getProfil(),listeResto.getRestaurant(1).getAdresse());
		registre.setRestaurantActif(listeResto.getRestaurant(1));
		registre.demarrerCommande();
		registre.ajouterProduitCommande(1, 2);
		registre.confirmerCommande();
		
		//commande = new Commande(client.getProfil(),listeResto.getRestaurant(2).getAdresse());
		registre.setRestaurantActif(listeResto.getRestaurant(2));
		registre.demarrerCommande();
		registre.ajouterProduitCommande(1, 2);
		registre.confirmerCommande();
		
	}
}
